#include "InputFileIterator.hpp"

namespace Pdf
{
	InputFileIterator::InputFileIterator(InputFile & input)
		: m_input(input)
		, m_value(m_input.peek())
	{
	}

	InputFileIterator::InputFileIterator(InputFileIterator const & other)
		: m_input(other.m_input)
		, m_value(m_input.peek())
	{
	}

	InputFileIterator::~InputFileIterator()
	{
	}

	InputFileIterator &	InputFileIterator::operator = (InputFileIterator const & other)
	{
		m_input = other.m_input;
		m_value = other.m_value;
		return *this;
	}

	InputFileIterator & InputFileIterator::operator ++ ()
	{
		m_input.next();
		m_value = m_input.peek();
		return *this;
	}

	InputFileIterator InputFileIterator::operator ++ (int)
	{
		InputFileIterator temp(*this);
		m_input.next();
		m_value = m_input.peek();
		return temp;
	}

	bool InputFileIterator::operator == (InputFileIterator const & other) const
	{
		return false;
	}

	bool InputFileIterator::operator != (InputFileIterator const & other) const
	{
		return false;
	}

	char const & InputFileIterator::operator * () const
	{
		return m_value;
	}

	char const * InputFileIterator::operator -> () const
	{
		return &m_value;
	}
}